Explorer des données non-structurées

Mathieu Morey - mathieu@datactivist.coop

11 janvier 2019

Data: the good, the bad…

Tidy data

“Happy families are all alike; every unhappy family is unhappy in its own way.” –– Leo Tolstoy

“Tidy datasets are all alike, but every messy dataset is messy in its own way.” –– Hadley Wickham

https://r4ds.had.co.nz/introduction.html
https://r4ds.had.co.nz/introduction.html

Tidy data: références

  

Data: … and the ugly

Data: … and the ugly (bis)

Et les données non-structurées ?

  • Fichiers textes et documents (.doc, .pdf, .html, .ppt)
  • Courriels
  • Données issues des réseaux sociaux
  • Images
  • Fichiers sons
  • Vidéos
  • Logs de serveurs, sites, applications

Comment extraire les nombreuses informations contenues dans ces données non-structurées?

Difficultés

https://xkcd.com/1425/
https://xkcd.com/1425/

Branches de l’IA

  • Vision par ordinateur (Computer Vision)
    • détection d’objet (Object Detection)
    • reconnaissance optique de caractères (Optical Character Recognition)
  • Traitement automatique du langage naturel (Natural Language Processing)

Progrès de la recherche dans ces branches de l’IA => amélioration des performances des systèmes

Panama papers

  • 11.4 M fichiers, 2.6 To données
  • “Soit plusieurs décennies de lecture jour et nuit si l’on veut aller d’un bout à l’autre de la base de données – sans compter la complexité de certains dossiers.”
https://www.lemonde.fr/panama-papers/article/2016/04/03/panama-papers-comment-le-monde-a-travaille-sur-plus-de-11-millions-de-fichiers_4894836_4890278.html
https://www.lemonde.fr/panama-papers/article/2016/04/03/panama-papers-comment-le-monde-a-travaille-sur-plus-de-11-millions-de-fichiers_4894836_4890278.html

Stack technique ICIJ

  • extraction du texte par OCR avec Tesseract,
  • recherche de termes avec Talend,
  • indexation des résultats avec Apache Solr,
  • tokenization, filtrage, stemming, clustering de termes avec RapidMiner,
  • classification automatique de documents avec RapidMiner.

https://www.icij.org/blog/2018/08/how-machine-learning-is-revolutionizing-journalism/

Limites

  • Données:
    • Fautes d’orthographe
    • Variations de la graphie
  • Masse de données à analyser:
    • Filtrer les documents peu intéressants,
    • Stratégies de classification plus élaborée,
  • Systèmes:
    • Erreurs d’OCR
    • Erreurs de NER
    • NB: erreurs en cascade => effet multiplicatif

Data pipeline

https://xkcd.com/2054/
https://xkcd.com/2054/

Aleph

https://datajournalismawards.org/2018/05/09/how-to-handle-massive-datasets-and-other-lessons-from-occrp-data-and-aleph/

http://pudo.org/blog/2016/06/29/aleph.html
http://pudo.org/blog/2016/06/29/aleph.html

Architecture d’Aleph

https://github.com/alephdata/aleph/wiki/System-architecture
https://github.com/alephdata/aleph/wiki/System-architecture

Named Entity Recognition

Schéma d’annotation des dumps Wikipedia:

  • PER: Named person or family.
  • LOC: Name of politically or geographically defined location (cities, provinces, countries, international regions, bodies of water, mountains).
  • ORG: Named corporate, governmental, or other organizational entity.
  • MISC: Miscellaneous entities, e.g. events, nationalities, products or works of art.

D’autres schémas d’annotation plus détaillés existent.

Pipeline spaCy

https://spacy.io/api/
https://spacy.io/api/

Entraînement spaCy

https://spacy.io/api/
https://spacy.io/api/

Architecture spaCy

https://spacy.io/api/
https://spacy.io/api/

Annotation de données

https://prodi.gy/
https://prodi.gy/

diaporama: https://datactivist.coop/prodigy_textcat/

Maîtrise et responsabilité

  • Les jeux de données que nous utilisons, constituons ou annotons constituent-ils un échantillon représentatif des données que nous voulons analyser ?
  • Les sources de données sont-elles, elles-mêmes, biaisées?
  • Pouvons-nous décrire de façon fiable le fonctionnement d’un modèle prédictif que nous utilisons? Savons-nous expliciter ses critères de décision?
  • Pouvons-nous expliciter les limites de fiabilité d’un modèle prédictif?

Can algorithms have gender or racial bias ?

https://twitter.com/WIRED/status/1088128075508768768

AI isn’t dangerous

… but human bias is

https://www.weforum.org/agenda/2019/01/ai-isn-t-dangerous-but-human-bias-is/

Substantive vs procedural fairness

https://theconversation.com/biased-algorithms-heres-a-more-radical-approach-to-creating-fairness-109748

Réponse(s) de la communauté ML

https://twitter.com/timnitGebru/status/1088313350407110656

https://arxiv.org/abs/1901.04966v1

Documenter les biais des données

Datasheets for Datasets https://arxiv.org/abs/1803.09010

Documenter les biais et les limites des modèles

Model Cards for Model Reporting https://arxiv.org/abs/1810.03993

Interprétabilité

Débat Neural Information Processing Systems 2017: http://www.youtube.com/watch?v=2hW05ZfsUUo

Analysis Methods in Neural Language Processing: A Survey https://arxiv.org/abs/1812.08951

Interprétabilité (concrète)

https://www.tensorflow.org/guide/summaries_and_tensorboard

Résumé

  • Tidy data

  • Des techniques d’IA permettent d’extraire des données structurées à partir de données non-structurées
    • extraction d’entités nommées par OCR + NER
  • avec
    • application de modèles standard
    • annotation active
    • apprentissage de modèles ajustés aux corpus visés.